package busterminal.persistence.jdbc;

import busterminal.persistence.BusDAO;
import busterminal.persistence.BusModelDAO;
import busterminal.persistence.DaoFactory;
import busterminal.persistence.RouteDAO;
import busterminal.persistence.ScheduledItemDAO;
import busterminal.persistence.StoppingPointDAO;
import busterminal.persistence.TripDAO;

/**
 * Класс-фабрика, возвращающий ссылки на реализации интерфейсов для каждой сущности для работы с базой данных
 */
public class JdbcDAOFactory implements DaoFactory {

    @Override
    public BusDAO getBusDAO() {
        return new JdbcBusDAO();
    }

    @Override
    public BusModelDAO getBusModelDAO() {
        return new JdbcBusModelDAO();
    }

    @Override
    public RouteDAO getRouteDAO() {
        return new JdbcRouteDAO();
    }

    @Override
    public ScheduledItemDAO getScheduledItemDAO() {
        return new JdbcScheduledItemDAO();
    }

    @Override
    public StoppingPointDAO getStoppingPointDAO() {
        return new JdbcStoppingPointDAO();
    }

    @Override
    public TripDAO getTripDAO() {
        return new JdbcTripDAO();
    }
}
